package web.suzy.oj.dao.discussion;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import web.suzy.oj.pojo.entity.discussion.Comment;
import web.suzy.oj.pojo.vo.CommentVO;

/**
 * YangSuzy 软件工作室
 * 类名: CommentEntityService
 * 描述: ---- 待定 -----
 * 功能: ---- 待定 -----
 *
 * @author YangSuzy
 * Date: 2022/11/27 15:51
 */
public interface CommentEntityService extends IService<Comment> {
    /**
     * 方法名: getCommentList
     * 描述: 获取评论列表
     *
     * @param limit       每页显示数目
     * @param currentPage 当前页
     * @param did         讨论ID
     * @return com.baomidou.mybatisplus.core.metadata.IPage<web.suzy.oj.pojo.vo.CommentVO>
     * @date 2022/11/27 15:51
     * @auther YangSuzy
     **/
    IPage<CommentVO> getCommentList(int limit, int currentPage, Integer did);

    /**
     * 方法名: updateCommentMsg
     * 描述: 异步方法 - 更新讨论的评论消息
     *
     * @param recipientId  接收方ID
     * @param senderId     发送方ID
     * @param content      消息内容
     * @param discussionId 讨论ID
     * @return void
     * @date 2022/11/27 15:59
     * @auther YangSuzy
     **/
    void updateCommentMsg(String recipientId, String senderId, String content, Integer discussionId);

    /**
     * 方法名: updateCommentLikeMsg
     * 描述: 异步方法 - 更新评论的点赞消息
     *
     * @param recipientId  接收方ID
     * @param senderId     发送方ID
     * @param discussionId 讨论ID
     * @return void
     * @date 2022/11/27 16:05
     * @auther YangSuzy
     **/
    void updateCommentLikeMsg(String recipientId, String senderId, Integer discussionId);
}
